Advances in semiconductor processing and logic design have permitted an increase in the amount of logic that may be present on integrated circuit devices. As a result, computer system configurations have evolved from multiple integrated circuits in a system to multiple hardware threads, multiple cores, multiple devices, and/or complete systems on an individual integrated circuit. As the density of integrated circuits has grown, the power requirements for computing systems (from embedded systems to servers) have also escalated.
Power and thermal management issues are considerations in designing computer-based systems. In the server domain, the cost of electricity drives the need for low power systems. In mobile systems, battery life and thermal limitations make these issues relevant. Optimizing a system for maximum performance at minimum power consumption is usually done using the operating system (OS) or system software to control hardware elements.
In server systems or other computer systems, the power supply is generally sized for full system configuration running power virus software with instructions configured to, when executed, reach a processor maximum power. The continuous development of more pointed viruses that quickly change current (i.e., di/dt viruses, where “di/dt” corresponds to a rate at which the current changes with time) for processor cores results in higher voltage droops on the power supply. This is becoming a problem on server cores where additional compute engines that process ever wider vector instructions to boost performance are being added every generation. The high power di/dt viruses can go from a low current to a high current in very few cycles. Further, the change of current happens within a small area of the core resulting in an area of high current density and larger voltage drop, as compared to other areas of the core. Larger voltage droops may result in loss of performance due to increased power since the core nominal voltage is raised to compensate for the droop. This power increase may be high because of a square relationship with voltage and may reduce performance of various components of the server.